package com.me.finance.dao;

import java.io.Serializable;
import java.util.List;

public interface GenericDao {
	
	public <T> T save(T t);
	public <T> T update(T t);
	public <T> void remove(T t);
	public <T> List<T> getList(Class<T> classToCast, String query, Object... values);
	public <T> List<T> getLimitedList(Class<T> classToCast, String query, int limit, Object... values);
	public <T> T getSingle(Class<T> classToCast, String query, Object... values);
	public <T> T getSingle(Class<T> classToCast, Serializable primaryKey);
	
}
